網際網路安全協定 (Internet Protocol Security, IPSec)
IPSec 是 IETF(Internet Engineering Task Force) 開發出來支援 IP 層的封包安全交換的協定。IPSec 也被用來建立虛擬私人網路 (virtual private networks, VPNs)。
IPSec 提供的服務有資料保密 (data confidentiality)、存取控制 (access control)、來源認證 (source authentication)、資料完整 (data integrity)、重放攻擊預防 (replay-attack prevention)。
資料保密:傳送端將所有要傳送的 datagrams 的資料體 (payloads) 加密,這樣傳送的資料就不會被企圖查看第三方看見。
來源認證:接收端可以驗証安全 datagrams 的來源。
資料完整:接收端可以檢查傳送過程中是否有任何 datagrams 被竄改。
重放攻擊預防:接收端可以偵測任何駭客可能插入的重複的 datagrams。
IPSec 是在 transport layer 之下的分層執行服務,位於 transport layer 上面的應用層不須要了解這個協定,所以 IPSec 適合提供路由器和防火牆等網路裝置安全保障。IPSec 可以在兩個模式下運作:
Transport mode:加密 IP 封包的資料體後,再將加密的資料體封入正規的 IP 封包傳送。
Tunnel mode:加密整整個 IP 封包。再將加密的封包放入另一個外圍封包的資料體內。Tunnel mode 建立一個網路上所有資料都被隱藏的安全通訊通道,竊聽者即使讀取封包標頭也不能得到來源 IP 位址。通常用在計畫在公共網路上建立祕密的通訊通道的 VPN 產品上。
IPSec 提供若干的加密演算法和金鑰分配技術。資料是使用普通的加密演算法 AES、RC5 或 Blowfish。認證和金鑰分配可能採取公共金鑰技術。